LinuC-2 - 202試験 - 2.09:HTTPサーバーとプロキシサーバー - 2.09.2 OpenSSLとHTTPSの設定

Last Update : January 02 2021 16:07:31

     

a. SSLの設定

1.OpenSSLのダウンロード

Version openssl-0.9.7c
Homepage http://www.openssl.org/
Download http://www.openssl.org/source
Install openssl-0.9.7c.tar.gz


2.OpenSSLのインストール

OpenSSLはデフォルトでは、/usr/local/ssl にインストールされます。デフォルトのインストール先を変更する場合は、--openssldir で指定します。ここでは、オプションを指定せずにインストールを行います。

$ cd /usr/local/src
$ tar xzvf openssl-0.9.7c.tar.gz
$ cd openssl-0.9.7c.tar.gz
$ ./config
$ make
$ make test
$ su
# make install


3.乱数データの作成

まず、CA用秘密鍵を作成するにあたって、前もって乱数データファイルを作成しておきます。

# openssl dgst -md5 /var/log/messages > rand.dat
# more rand.dat
MD5(/var/log/messages)= 61781da3ada4542d72205d9ac9cf1bb4


4.独自CA用秘密鍵の作成

上記で作成したrand.datを元に独自CA用の秘密鍵を生成します。あらかじめ、適当なディレクトリを作成し、そこに秘密鍵を作成することにします。

# mkdir certs
# cd certs
# openssl genrsa -des3 -out ca.key -rand rand.dat 1024
57 semi-random bytes loaded
Generating RSA private key, 1024 bit long modulus
......++++++
................++++++
e is 65537 (0x10001)
Enter pass phrase for ca.key: //パスフレーズを入力する
Verifying - Enter pass phrase for ca.key: //確認のため再度入力する

秘密鍵がきちんと生成されたかどうか確認します。また、root しか読み書きができないように、パーミッションの値を適切に設定しておきます。

# more ca.key
# cp ca.key /usr/local/certs/server.key
# chmod 600 /usr/local/certs/server.key


5.独自CA用証明書の作成

CA用の自己署名証明書を作成します。証明書の有効期限は1年とします。

# openssl req -new -x509 -key ca.key -out ca.crt -days 365
Enter pass phrase for ca.key: //CA用パスフレーズを入力する
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP //国名
State or Province Name (full name) [Some-State]:Ibaraki //県名
Locality Name (eg, city) []:Tsukuba //市町村
Organization Name (eg, company) [Internet Widgits Pty Ltd]:sakura //組織名
Organizational Unit Name (eg, section) []:sakura  //組織ユニット名
Common Name (eg, YOUR name) []:linux.click-rescue.com //ホスト名
Email Address []:root@click-rescue.com //管理者メールアドレス

以上で設定した値を確認するには以下のコマンドを実行します。

# openssl asn1parse -in ca.crt

独自CA用証明書をコピーし、パーミッションを適切に設定しておきます。

# cp ca.crt /usr/local/certs/server.crt
# chmod 600 /usr/local/certs/server.crt


6.電子メール用証明書の作成

電子メールでもSSL通信をする時のために、電子メール用の証明書も作成しておきます。courier-IMAPでは、秘密鍵と証明書を別々に分けることができないので、以下のようにして、mail.pem としてひとまとめにしておきます。

(cat server.crt ; cat server.key) > mail.pem


7.ブラウザに独自CAを登録する

独自CAをブラウザ登録するには、エンコードされたder ファイルが必要になります(ca.der)。以下のようにして、ca.crt から ca.der を作成します。

openssl x509 -inform PEM -outform DER -in ca.crt -out ca.der


8.ブラウザに独自CAをインポートする

上記で作成した、ca.der をWindows 上にコピーするか、Apache のドキュメントルートにでもコピーしておきます。











b. 仮想ホストの設定

IPベースでの設定 名前ベースでの設定


z. 出題範囲概要

概要 :
  • HTTPSを提供するために Apache HTTPサーバーを設定できる。

詳細 :
  • SSL設定ファイル、ツール
    /etc/ssl/, /etc/pki/
    Apache HTTPサーバーの設定ファイル
    SSLEngine, SSLCertificateKeyFile, SSLCertificateFile
    SSLProtocol, SSLCipherSuite
  • サーバーの秘密鍵および商用 CA向けのCSR を生成する。
    openssl
  • 自己署名証明書を生成する。
    openssl
  • 中間 CA を含む鍵および証明書をインストールする。
    SSLCACertificateFile, SSLCACertificatePath
  • SSLの使用に関するセキュリティ問題および安全でないプロトコルと cipher を無効にする。

  [ 例題 ] 


         

    www.it-shikaku.jp